CREATE EXTERNAL TABLE jms_dm.dm_transit_violation_all_detail_dt
(
    `waybill_no`                  string COMMENT '运单号',
    `trace_line`                  string COMMENT '责任&目的 三明-中山',
    `sender_center_arri_time`     timestamp COMMENT '始发转运中心到件时间',
    `send_time_2`                 timestamp COMMENT '中转中心发件时间',
    `arrival_time_2`              timestamp COMMENT '签收时间',
    `sender_center_code`          string COMMENT '始发转运中心编码',
    `sender_center_simple_name`   string COMMENT '始发转运中心简称',
    `sender_center_name`          string COMMENT '始发转运中心名称',
    `receiver_center_code`        string COMMENT '目的转运中心编码',
    `receiver_center_simple_name` string COMMENT '目的转运中心简称',
    `receiver_center_name`        string COMMENT '目的转运中心名称',
    `center_code_1`               string COMMENT '上一个转运中心编码',
    `center_simple_name_1`        string COMMENT '上一个转运中心简称',
    `center_name_1`               string COMMENT '上一个转运中心名称',
    `center_send_time_1`          string COMMENT '上一个转运中心发件时间',
    `center_arrival_time_1`       string COMMENT '上一个转运中心到件时间',
    `center_code_2`               string COMMENT '中转转运中心编码',
    `center_simple_name_2`        string COMMENT '中转转运中心简称',
    `center_name_2`               string COMMENT '中转转运中心名称',
    `center_code_3`               string COMMENT '下一个转运中心编码',
    `center_simple_name_3`        string COMMENT '下一个转运中心简称',
    `center_name_3`               string COMMENT '下一个转运中心名称',
    `pre_shipment_no`             string COMMENT '上一中心发件任务号',
    `pre_mileage`                 decimal(16, 2) COMMENT '上一中心到目的中心距离',
    `next_mileage`                decimal(16, 2) COMMENT '下一中心到目的中心距离',
    `package_total_volume`        decimal(16, 4) COMMENT '体积（方）',
    `route_code`                  string COMMENT '规划主用路由编码',
    `route_name`                  string COMMENT '规划主用路由',
    `standby_route_code`          string COMMENT '规划备用路由编码',
    `standby_route_name`          string COMMENT '规划备用路由',
    `real_all_line_code`          string COMMENT '实际线路编码全程',
    `real_all_line`               string COMMENT '实际线路全程',
    `real_road_agent_code`        string COMMENT '实际路由对应的代理区编码',
    `real_line_code`              string COMMENT '实际线路(当前轨迹)',
    `real_line`                   string COMMENT '实际线路(当前轨迹)',
    `is_match_main`               tinyint COMMENT '是否匹配主用路由1,0',
    `is_match_standby`            tinyint COMMENT '是否匹配备用路由 1是0否',
    `main_next_code`              string COMMENT '主用路由下一站编码',
    `main_next_name`              string COMMENT '主用路由下一站名称',
    `main_next_next_code`         string COMMENT '主用路由下下一站编码',
    `main_next_next_name`         string COMMENT '主用路由下下一站名称',
    `standby_next_code`           string COMMENT '备用路由下一站编码',
    `standby_next_name`           string COMMENT '备用路由下一站名',
    `standby_next_next_code`      string COMMENT '备用路由下下一站编码',
    `standby_next_next_name`      string COMMENT '备用路由下下一站名',
    `is_tmp_shipment`             tinyint COMMENT '是否临时转运中心 1是0否',
    `is_violation`                tinyint COMMENT '是否违规中转 1是0否',
    `is_wrong`                    tinyint COMMENT '网点错发 1是0否',
    `is_miss`                     tinyint COMMENT '是否错分 1是0否',
    `is_dispatch`                 tinyint COMMENT '是否调度指令(1是0否)',
    `is_sub`                      tinyint COMMENT '是否是违规剔除的单号(1是0否)',
    `data_type`                   string COMMENT '数据类型 1:有发件,2无发件',
    `apply_time`                  timestamp COMMENT '退转件扫描时间',
    `arrival_time_later`          timestamp COMMENT '中转中心到件时间最晚',
    `arrival_time_early`          timestamp COMMENT '中转中心到件时间最早',
    `sender_center_dt`            date COMMENT '中心发件日期(如选择2021-08-09到2021-08-09时，代表的是8-9号的16点到8-10号的15:59:59的数据)',
    `arrival_center_dt`           date COMMENT '中心到件日期(如选择2021-08-09到2021-08-09时，代表的是8-9号的16点到8-10号的15:59:59的数据)',
    `old_dt`                      date COMMENT '老分区',
    `flag`                        int COMMENT '全程中转次数 1 老数据 2',
    `trace_volume`                decimal(16, 4) COMMENT '单流向体积',
    `transit_volume`              decimal(16, 4) COMMENT '中转体积',
    `is_stop_shipment`            int COMMENT '是否经停错卸  1是0否',
    `is_no_route`                 int COMMENT '是否无路由  1是0否',
    `is_over_volume_trace`        int COMMENT '是否单流向超方  1是0否',
    `is_over_volume_transit`      int COMMENT '是否实际中转超方  1是0否',
    `is_over_volume_trace_diff`   int comment '是否中转超方与单流向超方交集 1是0否',
    `is_in_province_volume`       int comment '是否省内单流向超方 1是0否',
    `is_out_province_volume`      int comment '是否省外单流向超方 1是0否',
    `is_bag_trace_err`            int COMMENT '是否网点错建包 1是0否',
    `is_bag_err`                  int COMMENT '是否网点包件不关联 1是0否',
    `is_other`                    int COMMENT '是否其他',
    `agent_code`                  string comment '责任中心代理区code',
    `agent_name`                  string comment '责任中心代理区',
    `virt_code`                   string comment '责任虚拟代理区code',
    `virt_name`                   string comment '责任虚拟代理区',
    transit_agent_code            string COMMENT '中转中心代理区code',
    transit_agent_name            string COMMENT '中转中心代理区',
    transit_virt_code             string COMMENT '中转中心代理区code',
    transit_virt_name             string COMMENT '中转中心代理区',
    is_over_volume_out_province   int COMMENT '省外单流向超方',
    is_over_volume_in_province    int COMMENT '省内单流向超方'
)
    COMMENT '中转违规明细表(添加全程中转)'
    PARTITIONED BY ( `dt` string COMMENT '时间分区 签收时间')
    STORED AS PARQUET
    LOCATION '/dw/hive/jms_dm.db/external/dm_transit_violation_all_detail_dt'
    TBLPROPERTIES (
        'discover.partitions' = 'false',
        'parquet.column.index.access' = 'true'
        );